{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## N Ways to GPU Programming\n",
    "\n",
    "## Learning Objectives\n",
    "With the release of NVIDIA CUDA® in 2007, different approaches to GPU programming have evolved. Each approach has its own advantages and disadvantages. By the end of this bootcamp session, participants will have a broader perspective on GPU programming approaches to help them select a programming model that better fits their application's needs and constraints. The bootcamp will teach how to accelerate a real-world scientific application using the following methods:\n",
    "* Standard: C++ stdpar, Fortran Do-Concurrent\n",
    "* Directives: OpenACC, OpenMP\n",
    "<!--* Frameworks: Kokkos-->\n",
    "* Programming Language Extension: CUDA C, CUDA Fortran, Python CuPy, Python Numba\n",
    "\n",
    "Let's start by testing the CUDA Driver and GPU you are running the code on in this lab:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!nvidia-smi"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bootcamp Outline\n",
    "\n",
    "During this lab, we will beporting mini-applications in Molecular Simulation (MD) domain to GPUs. You can choose to work with either version of this application. Please click on one of the below links to start N Ways to GPU Programming in **MD** for:\n",
    "\n",
    "- [C and Fortran](_common/_start_nways_C_Fortran.ipynb) \n",
    "- [Python](_common/_start_nways_python.ipynb) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Bootcamp Duration\n",
    "The lab material will be presented in an 8-hour session. A Link to the material is available for download at the end of the lab.\n",
    "\n",
    "### Content Level\n",
    "Beginner, Intermediate\n",
    "\n",
    "### Target Audience and Prerequisites\n",
    "The target audience for this lab is researchers, graduate students and developers interested in learning about various ways of GPU programming to accelerate their scientific applications.\n",
    "\n",
    "Basic experience with C/C++ or Python, or Fortran programming is needed. No GPU programming experience is required. \n",
    "\n",
    "--- \n",
    "\n",
    "## Licensing \n",
    "\n",
    "Copyright © 2022 OpenACC-Standard.org.  This material is released by OpenACC-Standard.org, in collaboration with NVIDIA Corporation, under the Creative Commons Attribution 4.0 International (CC BY 4.0). These materials may include references to hardware and software developed by other entities; all applicable licensing and copyrights apply."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
